#include <ballade/smartclient/dispatcher.h>

namespace Ballade
{
	namespace SmartClient
	{
		// Public
		Dispatcher::~Dispatcher() {}

		void Dispatcher::registerListener(const Listener *listener)
		{
			_listeners[listener->getName()] = (Listener *)listener;
		}

		void Dispatcher::removeListener(const string &name)
		{
			_listeners.erase(name);
		}

		void Dispatcher::dispatch(const string &name, const char *data)
		{
			if(_listeners[name])
				_listeners[name]->handle(data);
		}
		// End of Public
	}
}